#! /bin/bash

if [[ -z "$MSF_PATH" ]]; then
  path=`dirname $0`

  # check for ./docker/msfconsole.rc
  if [[ ! -f $path/../msfconsole.rc ]] ; then

    # we are not inside the project
    realpath --version > /dev/null 2>&1 || { echo >&2 "I couldn't find where metasploit is. Set \$MSF_PATH or execute this from the project root"; exit 1 ;}

    # determine script path
    pushd $(dirname $(realpath $0)) > /dev/null
    path=$(pwd)
    popd > /dev/null
  fi
  MSF_PATH=$(dirname $(dirname $path))
fi

cd $MSF_PATH

PARAMS="$@"

if [[ $PARAMS == *"--rebuild"* ]]; then
  echo "Rebuilding image"
  docker-compose build
  exit $?
fi

docker-compose run --rm --service-ports -e MSF_UID=$(id -u) -e MSF_GID=$(id -g) ms ./msfconsole -r docker/msfconsole.rc "$PARAMS"
